#include <iostream>
#include <vector>
#include <climits>
using namespace std;
using ll=long long;
int main() {

	int n,aim;
	cin>>n>>aim;
	vector<int> vecArr(n);
	for(int i=0;i<n;++i){
		cin>>vecArr[i];
	}
	vector<ll> dp(aim+1,INT_MAX);
	dp[0]=0;
	for(int i=0;i<n;++i){
		for(int j=vecArr[i];j<=aim;++j){
			if(dp[j-vecArr[i]]!=INT_MAX){
				dp[j]=min(dp[j-vecArr[i]]+1,dp[j]);
			}
		}
	}
	if(dp[aim]==INT_MAX){
		dp[aim]=-1;
	}
	cout<<dp[aim];
	
	return 0;
}
